Устраняем ошибку «Слишком много открытых файлов» или «Too many open files» в 1С под ОС Linux (Red Hat 7/Centos 7)

1. Увеличиваем лимит на открытые файлы всей системы.

2. Увеличиваем лимит на открытые файлы для процессов 1С.

3. Увеличиваем лимиты на открытые файлы для процесса 1С редактированием файла демона.

4. Увеличиваем максимальное число сегментов разделяемой памяти для всей системы.

Подробнее об ошибке

Пример полного текста ошибки:

Описание:

Данная ошибка связана с тем, что ОС Linux исчерпала ограниченный ей лимит файлов на открытие и может возникать как при работе пользователя в пользовательском режиме, так и при работе разработчика с хранилищем конфигурации.

Побочными ошибками данной проблемы могут являться также ошибки работы с дисковой подсистемой. Такие как:

Решение:

На всех серверах 1С выполним следующие настройки лимитов открываемых файлов.

Увеличиваем лимит на открытые файлы всей системы.

1. Получим значение количества файлов, которые можно открыть в нашей файловой системе:

Скорее всего, здесь мы увидим числа порядка: 97822; 65208 и т.д.

Такие пределы нас вполне устраивают.

Данное значение используем в дальнейшей настройке.

Но, если понадобится их увеличить – добавим строку настроек в конфигурационный файл /etc/sysctl.conf любым удобным способом:

2. Перечитаем параметры:

где 6500 – это то число файлов, которое нам необходимо иметь возможность открывать в нашей файловой системе.

Увеличиваем лимит на открытые файлы для процессов 1С.

1. Отредактируем файл:

Добавим строки:

2. Перечитаем параметры:

3. Убедимся, что изменения вступили в силу. Получим pid службы:

4. По номеру pid получим значение параметра «max open files»:

Значение должно быть 65000.

Увеличиваем лимиты на открытые файлы для процесса 1С редактированием файла демона.

Результат данной настройки будет аналогичен предыдущему варианту.

  1. Отредактируем настройки:

Добавим строки:

2. Обновим конфигурацию демон:

3. Перезапустим демон:

Отметим также, что помимо настроек, относящихся к количеству открытых файлов – может понадобится обратить внимание на настройки максимального числа сегментов разделяемой памяти для всей системы.

Увеличиваем максимальное число сегментов разделяемой памяти для всей системы.

  1. При необходимости — установим настройку:

  1. Проверим, что настройка установилась:

Все наши модифицированные настройки можем увидеть в конфигурационном файле /etc/sysctl.conf: